﻿Public Class FrmGestProduit
#Region "Champs"
    Dim position As Integer = 0
#End Region

#Region "Gestion des évènements"
    Private Sub FrmGestProduit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Chargement du formulaire
        Me.MdiParent = FrmStart
        txtIdProduit.Enabled = False

        'DataGrid de tous les produits
        MySQLConnect.MaRequete = "SELECT idProduit, LibelleProduit, PrixHTProduit, QteStockProduit, NomFournisseur, LibelleCategorie FROM Produit, Categorie, Fournisseur WHERE Fournisseur.idFournisseur = Produit.idFourn AND Categorie.idCategorie = Produit.idCat"
        MySQLConnect.MaCommandeSpecialeRequete.CommandText = MySQLConnect.MaRequete
        MySQLConnect.MonRemplisseur.SelectCommand = MySQLConnect.MaCommandeSpecialeRequete
        MySQLConnect.MonRemplisseur.Fill(MySQLConnect.MonJeuDeDonnees, "TousLesProduits")
        DGProduits.DataSource = MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits")

        'ComboBox des frss
        MySQLConnect.MaRequete = "SELECT * FROM Fournisseur"
        MySQLConnect.MaCommandeSpecialeRequete.CommandText = MySQLConnect.MaRequete
        MySQLConnect.MonRemplisseur.SelectCommand = MySQLConnect.MaCommandeSpecialeRequete
        MySQLConnect.MonRemplisseur.Fill(MySQLConnect.MonJeuDeDonnees, "TousLesFrss")
        ComboBoxFrss.DataSource = MySQLConnect.MonJeuDeDonnees.Tables("TousLesFrss")

        ComboBoxFrss.DisplayMember = "NomFournisseur"
        ComboBoxFrss.ValueMember = "idFournisseur"

        'ComboBox des catégories
        MySQLConnect.MaRequete = "SELECT * FROM Categorie"
        MySQLConnect.MaCommandeSpecialeRequete.CommandText = MySQLConnect.MaRequete
        MySQLConnect.MonRemplisseur.SelectCommand = MySQLConnect.MaCommandeSpecialeRequete
        MySQLConnect.MonRemplisseur.Fill(MySQLConnect.MonJeuDeDonnees, "ToutesLesCategories")
        ComboBoxCategorie.DataSource = MySQLConnect.MonJeuDeDonnees.Tables("ToutesLesCategories")

        ComboBoxCategorie.DisplayMember = "LibelleCategorie"
        ComboBoxCategorie.ValueMember = "idCategorie"

        Rafraichir()
        position = 0
    End Sub

    Private Sub btnModifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModifier.Click
        Dim num As Integer = CInt(txtIdProduit.Text)
        Dim n As String = txtLibelle.Text
        Dim px As Integer = CInt(txtPxHT.Text)
        Dim qte As Integer = CInt(txtQteDispo.Text)

        btnModifier.Text = "Valider modification !"

        MySQLConnect.MaRequete = " UPDATE Produit Set idProduit = " & num & ", LibelleProduit = '" & n & "', PrixHTProduit = " & px & ", QteStockProduit = " & qte & ", idFourn = " & ComboBoxFrss.SelectedValue & ", idCat = " & ComboBoxCategorie.SelectedValue & ""
        MySQLConnect.MaCommandeSpecialeRequete.CommandText = MySQLConnect.MaRequete
        MySQLConnect.MaCommandeSpecialeRequete.ExecuteNonQuery()

        MessageBox.Show("Commande modifié !", "Modification de commandes", MessageBoxButtons.OKCancel, MessageBoxIcon.Information)

        Rafraichir()
        RechargerLesDonnees()
    End Sub

    Private Sub DGProduits_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DGProduits.Click
        Try
            gbProduits.Visible = True
            txtIdProduit.Text = DGProduits.CurrentRow.Cells(0).Value
            txtLibelle.Text = DGProduits.CurrentRow.Cells(1).Value
            txtPxHT.Text = DGProduits.CurrentRow.Cells(2).Value
            txtQteDispo.Text = DGProduits.CurrentRow.Cells(3).Value
            ComboBoxFrss.Text = DGProduits.CurrentRow.Cells(4).Value
            ComboBoxCategorie.Text = DGProduits.CurrentRow.Cells(5).Value
        Catch ex As Exception
            gbProduits.Visible = False
        End Try

    End Sub


#End Region

#Region "Méthodes et procédures"
    Public Sub RechargerLesDonnees()
        MySQLConnect.MonJeuDeDonnees.Tables("ToutesLesCommandes").Clear()
        MySQLConnect.MaRequete = "SELECT idCommande, DateCommande, idCli, NomClient, PrenomClient FROM Commande, Client WHERE Client.idClient = Commande.idCli ORDER BY idCommande ASC"
        MySQLConnect.MaCommandeSpecialeRequete.CommandText = MySQLConnect.MaRequete
        MySQLConnect.MonRemplisseur.SelectCommand = MySQLConnect.MaCommandeSpecialeRequete
        MySQLConnect.MonRemplisseur.Fill(MySQLConnect.MonJeuDeDonnees, "ToutesLesCommandes")
        MySQLConnect.MonJeuDeDonnees.Tables("TousLesClients").Clear()

        MySQLConnect.MaRequete = "SELECT * FROM Client"
        MySQLConnect.MaCommandeSpecialeRequete.CommandText = MySQLConnect.MaRequete
        MySQLConnect.MonRemplisseur.SelectCommand = MySQLConnect.MaCommandeSpecialeRequete
        MySQLConnect.MonRemplisseur.Fill(MySQLConnect.MonJeuDeDonnees, "TousLesClients")
    End Sub

    Public Sub Rafraichir()
        txtIdProduit.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits").Rows(position).Item(0)
        txtLibelle.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits").Rows(position).Item(1)
        txtPxHT.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits").Rows(position).Item(2)
        txtQteDispo.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits").Rows(position).Item(3)
        ComboBoxFrss.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits").Rows(position).Item(4)
        ComboBoxCategorie.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits").Rows(position).Item(5)
    End Sub

#End Region


End Class